Attempts have been made to integrate software over the Internet, such that services need not physically reside or be installed on a client in order for a client to acquire, process, and benefit from those services. In some cases, the client dynamically acquires the services and locally processes them. This technology is nascent and is gradually beginning to gain ground in the industry. The basic idea is that services are registered, located, acquired, and processed on demand. Services may be processed local to the client or remote from the client.
The idea of creating an integrated Development Environment (IDE) has been around for some time and recent developments have held some promise that at these technologies will catch on and eventually become pervasive. Largely, efforts to integrate services has been slow, since in most instances each service needs to abstract its own interfaces and make them available for use by a variety of other services. Additionally, the services themselves must be available to process on a variety of operating system (OS) platforms. Consequently, making legacy services available in an IDE has been and continues to be problematic. Thus, services are still largely provided via dedicated servers or as appliances. That is, developers continue to view services as either an appliance application or as a server application.
One problem with the newer and older IDE models for providing services is that any particular client is difficult to manage and support, because the client's services which may originate from a variety of disparate platforms. In fact, the services may not even be within the management control of an administrator for a particular client. Additionally, some client services may not be compatible or interface with other client services.
Accordingly, management and integration has been more easily achieved with physical hardware, such as servers that are integrated in a rack with one another. However, physical devices require a definite physical location, have moving parts that can break, and cannot be easily transported from place to place as needed. The benefits of having services within a client's physical environment are that the services can be centrally managed, distributed, and controlled by administrators. Another significant benefit is that security can be better enforced in a centrally distributed physically controlled processing environment.
In fact, a more optimal solution to an IDE is a technique that is capable of centrally managing client services as if they were being locally stored and administered while at the same time having no requirement that those services be associated with traditional servers or appliances.
Correspondingly, techniques are described herein for providing services and establishing processing environments over a network, where these techniques are capable of being centrally controlled, managed, and administered.